/*
 * glmmversion.h
 *
 *  Created on: 24.02.2011
 *      Author: marcell
 */

#ifndef __GLMMVERSION_H__
#define __GLMMVERSION_H__



typedef unsigned glmmVersion;

#define GLMM_VERSION(major, minor)  (((major) & 0x0000ffff) << 16 | ((minor) & 0x0000ffff))
#define GLMM_VERSION_MAJOR(version) (((version) & 0xffff0000) >> 16)
#define GLMM_VERSION_MINOR(version) ((version) & 0x0000ffff)


/**
 * \brief Mode how a capability is present in the System.
 */
enum GLMMCAPSMODE
{
  /// The capability is not present at all.
  GLMM_None       = 0,
  /// The capability is present by an extension
  GLMM_Extension  = 1,
  /// The capability is present by version of OpenGL.
  GLMM_Native     = 2,
};


#define GLMM_CAPSMODESTRING(m) (m)== GLMM_None ? "None" : (m) == GLMM_Extension ? "Extension" : "Native"

#endif /* ! __GLMMVERSION_H__ */
